package com.gl.glcourses.managers
{
	import com.gl.glcourses.model.PresentationModel;
	import com.gl.glcourses.vos.Usuario;
	import com.gl.glcourses.vos.UsuarioCache;
	
	import flash.net.SharedObject;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;

	public class UsuariosRecordadosManager extends PresentationModel
	{
		[Bindable]
		public var usuariosRecordados:ArrayCollection;
		
		private var soUsuariosRecordados:SharedObject;
		
		public function UsuariosRecordadosManager()
		{
			var usuarioNuevo:UsuarioCache;
			
			soUsuariosRecordados = SharedObject.getLocal( "usuariosRecordados" );
			if( soUsuariosRecordados.data && soUsuariosRecordados.data.usuariosRecordados 
				&& soUsuariosRecordados.data.usuariosRecordados is ArrayCollection )
			{ 
				usuariosRecordados = soUsuariosRecordados.data.usuariosRecordados as ArrayCollection;
				
				if( usuariosRecordados.length > 0 && !( usuariosRecordados.getItemAt( 0 ) is UsuarioCache ) )
				{
					usuariosRecordados = new ArrayCollection();
				}
				
			} else {
				usuariosRecordados = new ArrayCollection();
			}				
		}
		
		public function recordarUsuario( usuario:String, contrasenia:String ):void
		{
			var guardarUsuario:Boolean = false;
			
			for each( var usuarioCache:UsuarioCache in usuariosRecordados )
			{
				if( usuario == usuarioCache.nombre )
				{
					guardarUsuario = true;
					usuarioCache.contrasenia = contrasenia;
				}
			}
			if( !guardarUsuario )
			{	
				var usuarioNuevo:UsuarioCache = new UsuarioCache();
				usuarioNuevo.nombre = usuario;
				//usuarioNuevo.idioma = usuario.idioma;
				usuarioNuevo.contrasenia = contrasenia;
				usuariosRecordados.addItem( usuarioNuevo );
			}
			soUsuariosRecordados.data.usuariosRecordados = usuariosRecordados;
			soUsuariosRecordados.flush();
		}
		
		public function borrarRecordarUsuario(usuario:String):void
		{
			var contador:int=0;
			
			for each( var usuarioCache:UsuarioCache in usuariosRecordados )
			{
				if( usuario == usuarioCache.nombre )
				{
					usuariosRecordados.removeItemAt(contador);
				}
				contador++;
			}
		}
		
		
	}
}